Additive manufacturing audio signal processing

Load sound from various categories and conditions

Basic information

visualisation of raw signal

Preprocessing: Cut the signal or pad the signal, unify the signal length if necessary

details regarding numpy padding method: https://stackoverflow.com/questions/35751306/python-how-to-pad-numpy-array-with-zeros/46115998

Auidio signal time-domain visualisation

Remarks: during the experiment, the position of the microphone varies. We have not determined the optimal position for the microphone, thus, the sound amplitutes varies from sample to sample. The closer the microphone to the laser source, the sound amplitute is larger.

Amplitude envelope [time-domain feature]

Root-mean-squared energy (RMSE) [time-domain feature]

Visualisation of RMSE

Zero-crossing rate [time-domain]

Discrete Fourier Transform (DFT) [Frequency-domain] - by fast fourier transform algorithm

Frequency spectrum

Spectrogram - Time-frequency representation

Extracting Short-Time Fourier Transform

Calculation of spectrogram

Visualisation of the spectrogram (Log-Amplitute and Log frequency scale)

Mel-spectrogram : special time-frequency representation in mel scale

Mel filter banks - a square-shape filter function

Mel-Frequency Cepstrum Coefficient (MFCC)

Extracting MFCCs

Band-Energy Ratio (frequency-domain feature)

Calculate Band Energy Ratio

Visualise Band Energy Ratio

Spectral centroid (frequency-domain feature)

Spectral bandwidth - Frequency domain